load(
    "//bazel:tachyon_cc.bzl",
    "tachyon_cc_library",
    "tachyon_cc_unittest",
)

package(default_visibility = ["//visibility:public"])

tachyon_cc_library(
    name = "pedersen",
    hdrs = ["pedersen.h"],
    deps = [
        "//tachyon/base/buffer:copyable",
        "//tachyon/base/containers:container_util",
        "//tachyon/base/strings:string_util",
        "//tachyon/crypto/commitments:vector_commitment_scheme",
        "//tachyon/device/gpu:scoped_mem_pool",
        "//tachyon/device/gpu:scoped_stream",
        "//tachyon/math/elliptic_curves/msm:variable_base_msm",
        "//tachyon/math/elliptic_curves/msm:variable_base_msm_gpu",
    ],
)

tachyon_cc_unittest(
    name = "pedersen_unittests",
    srcs = ["pedersen_unittest.cc"],
    deps = [
        ":pedersen",
        "//tachyon/base/buffer:vector_buffer",
        "//tachyon/math/elliptic_curves/bn/bn254:g1",
    ],
)
